package com.china08.yxyapi.schedule.statistics;

import java.util.Date;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import com.china08.yxyapi.util.DateUtils;
import com.china08.yxyapi.util.RabbitMqSendUtil;
import com.china08.yxyapi.util.YxyScheduleRunnableUtil;

@Component
public class ResourceReportTask {

    private static final Logger log = LoggerFactory.getLogger(ResourceReportTask.class);

    /** 每天一点触发，统计前一天数据 **/
    // @Scheduled(cron = "0 15 0 * * ?")
    public void executeTask() {

        // ##
        // 检测定时任务是否可执行
        if (!YxyScheduleRunnableUtil.checkRunnable()) { return; }

        // 按照区域统计
        RabbitMqSendUtil.ywStatisticsResourceArea(DateUtils.formatDate4(DateUtils.getBeforeDay(new Date())));

        // 按照学校统计
        RabbitMqSendUtil.ywStatisticsResourceSchool(DateUtils.formatDate4(DateUtils.getBeforeDay(new Date())));

        // // 按照学校统计总共的数量 (备注：20171215upd)
        // RabbitMqSendUtil.ywStatisticsResourceAndPackSchool(DateUtils.formatDate4(DateUtils.getBeforeDay(new
        // Date())));

        // 按照学校统计每日资源
        RabbitMqSendUtil.ywStatisticsResourceSchoolDay(DateUtils.formatDate4(DateUtils.getBeforeDay(new Date())));

        // 按学校统计每日的资源和备课包(备注：20171212upd)
        // RabbitMqSendUtil.ywStatisticsResourceAndPackSchoolDay(DateUtils.formatDate4(DateUtils.getBeforeDay(new
        // Date())));
    }

    /** 每天一点触发，统计前一天数据 **/
    // @Scheduled(cron = "0 15 1 * * ?")
    public void statictisResource() {

        // ##
        // 检测定时任务是否可执行
        if (!YxyScheduleRunnableUtil.checkRunnable()) { return; }

        // 按照学校统计总共资源es SchoolUploadResourceReport(总表)
        RabbitMqSendUtil.ywStatisticsResourceSchoolEs(DateUtils.formatDate4(DateUtils.getBeforeDay(new Date())));

        // 按照学校统计每天总共资源es SchoolUploadResourceDay(日表)
        RabbitMqSendUtil.ywStatisticsResourceUserSchoolDayEs(DateUtils.formatDate4(DateUtils.getBeforeDay(new Date())));

        // 按照学校统计地区每天总共资源es AreaResourceReport(地区表)
        RabbitMqSendUtil.ywStatisticsResourceSchoolDayEs(DateUtils.formatDate4(DateUtils.getBeforeDay(new Date())));
    }

    /*
     * 资源统计 新修改
     * 
     * 每天一点触发，统计前一天数据(新修改)
     * 
     */
    @Scheduled(cron = "0 15 4 * * ?")
    public void statictisResourceuserNew() {

        // 按照学校统计总共资源es SchoolUploadResourceReport(总表) 20171218日修改
        // RabbitMqSendUtil.ywStatisticsResourceSchoolNewEs(DateUtils.formatDate4(DateUtils.getBeforeDay(new
        // Date())));

        // 按照学校统计每天总共资源es SchoolUploadResourceDay(日表) 20171218日修改
        RabbitMqSendUtil.ywStatisticsResourceUserSchoolDayNewEs(DateUtils.formatDate4(DateUtils.getBeforeDay(new Date())));

        // 按照学校统计地区每天总共资源es AreaResourceReport(地区表)
        RabbitMqSendUtil.ywStatisticsResourceSchoolDayNewEs(DateUtils.formatDate4(DateUtils.getBeforeDay(new Date())));
    }

    /** 每天一点触发，统计前一天数据 **/
    @Scheduled(cron = "0 15 4 * * ?")
    public void statictisResourceuser() {
        // 按照用户统计总共资源es
        RabbitMqSendUtil.ywStatisticsResourceUserSchoolEs(DateUtils.formatDate4(DateUtils.getBeforeDay(new Date())));
    }
}
